/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2023-2023. All rights reserved.
 * Description: Export Pangea Libata driver Vendor Hooks
 */

#ifndef _LIBATA_PANGEA_EXPORT_H
#define _LIBATA_PANGEA_EXPORT_H

#ifdef CONFIG_VENDOR_PANGEA_LIBATA_HOOKS
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_print);
/* libata-core.c */
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_exec_internal);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_exec_internal_exit);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_ignore_error_handler);
EXPORT_HOOK_SYMBOL_GPL(vendor_sata_print_link_status);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_dev_revalidate);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_dev_revalidate_fail_exit);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_sim_identify_fail);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_qc_complete);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_host_register);
/* libata-scsi.c */
EXPORT_HOOK_SYMBOL_GPL(vendor_translate_sense_done);
EXPORT_HOOK_SYMBOL_GPL(vendor_translate_stat_done);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_scsi_slave_config);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_scsi_qc_complete);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_scsi_qc_complete_exit);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_scsi_dump_cdb);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_scsi_queuecmd_block_exit);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_scsi_queuecmd_record_cmd);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_scsi_handle_link_detach);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_scsi_hotplug);
/* libata-eh.c */
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_set_eh_reset_deadline);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_ehi_push_desc);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_scsi_error_exit);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_scsi_error);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_eh_link_report);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_do_reset);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_eh_reset);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_eh_handle_dev_fail);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_eh_recover);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_eh_recover_rest_fail_exit);
EXPORT_HOOK_SYMBOL_GPL(vendor_ata_eh_recover_nr_fail_exit);
/* libata-pmp.c */
EXPORT_HOOK_SYMBOL_GPL(vendor_sata_pmp_eh_recover);
EXPORT_HOOK_SYMBOL_GPL(vendor_sata_pmp_eh_recover_exit);
EXPORT_HOOK_SYMBOL_GPL(vendor_sata_pmp_error_handler);
EXPORT_HOOK_SYMBOL_GPL(vendor_sata_pmp_error_handler_exit);
/* libata-sata.c */
EXPORT_HOOK_SYMBOL_GPL(vendor_sata_link_hardreset);
EXPORT_HOOK_SYMBOL_GPL(vendor_sata_link_scr_lpm);

#endif
#endif
